package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.TreeSelect;
import com.ruoyi.common.core.domain.entity.NormAttribute;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.system.domain.EmpNormAttribute;

import java.util.List;

/**
 * 指标属性Service接口
 *
 * @author zsl
 * @date 2024-04-15
 */
public interface IEmpNormAttributeService {
    /**
     * 查询指标属性
     *
     * @param id 指标属性主键
     * @return 指标属性
     */
    public EmpNormAttribute selectEmpNormAttributeById(Long id);

    /**
     * 查询指标属性列表
     *
     * @param empNormAttribute 指标属性
     * @return 指标属性集合
     */
    public List<EmpNormAttribute> selectEmpNormAttributeList(EmpNormAttribute empNormAttribute);

    /**
     * 新增指标属性
     *
     * @param empNormAttribute 指标属性
     * @return 结果
     */
    public int insertEmpNormAttribute(EmpNormAttribute empNormAttribute);

    /**
     * 修改指标属性
     *
     * @param empNormAttribute 指标属性
     * @return 结果
     */
    public int updateEmpNormAttribute(EmpNormAttribute empNormAttribute);

    /**
     * 批量删除指标属性
     *
     * @param ids 需要删除的指标属性主键集合
     * @return 结果
     */
    public int deleteEmpNormAttributeByIds(Long[] ids);

    /**
     * 删除指标属性信息
     *
     * @param id 指标属性主键
     * @return 结果
     */
    public int deleteEmpNormAttributeById(Long id);

    public List<TreeSelect> selectAttributeTreeList(EmpNormAttribute attribute);

    public List<TreeSelect> buildAttributeTreeSelect(List<NormAttribute> attributes);

    public List<NormAttribute> buildAttributeTree(List<NormAttribute> attributes);
}
